package RapiWeb.Evento;

import RapiWeb.JF_Principal;
import RapiWeb.Objeto.Proyecto;
import Utilidades.Archivo;
import java.awt.Color;
import java.awt.FileDialog;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.ImageIcon;
import javax.swing.JOptionPane;

public class JF_Principal_Evento implements ActionListener {

    private int int_Opcion;
    private JF_Principal principal;
    private Archivo archi;
    private Proyecto proyecto;

    public JF_Principal_Evento(JF_Principal principal, int int_opcion) {
        this.int_Opcion = int_opcion;
        this.principal = principal;
    }

    @Override
    public void actionPerformed(ActionEvent e) {
        switch (int_Opcion) {
            case 0://nuevo proyecto
//                new JP_NuevoProyecto(principal);
                principal.setVisible(false);
                JF_Principal f_Nuevo = new JF_Principal();
                f_Nuevo.addComponentes();
                f_Nuevo.m_EliminarPanles();
                f_Nuevo.m_PanelNuevoProyecto();
                //Edicion
                for (int i = 0; i < f_Nuevo.getM_Pestañas().getM_Opciones()[1].getOpciones().length; i++) {
                    f_Nuevo.getM_Pestañas().getM_Opciones()[1].getOpcion(i).setEnabled(false);
                }
                //Configuraciones
                for (int i = 0; i < f_Nuevo.getM_Pestañas().getM_Opciones()[2].getOpciones().length; i++) {
                    f_Nuevo.getM_Pestañas().getM_Opciones()[2].getOpcion(i).setEnabled(false);
                }
                //Ayuda
                for (int i = 0; i < f_Nuevo.getM_Pestañas().getM_Opciones()[3].getOpciones().length; i++) {
                    f_Nuevo.getM_Pestañas().getM_Opciones()[3].getOpcion(i).setEnabled(false);
                }
                break;
            case 1: //Abrir proyecto
                FileDialog fd_Abrir = new FileDialog(principal, "Abrir Proyecto", FileDialog.LOAD);
                fd_Abrir.setVisible(true);
                String str_Archivo;
                str_Archivo = fd_Abrir.getDirectory() + fd_Abrir.getFile();
                if (fd_Abrir.getFile() != null) {
//                    str_Archivo = str_Archivo.replaceAll(".txt", "");
                    System.out.println("Archivo: " + str_Archivo);
                    principal.setVisible(false);
                    JF_Principal f_Abrir = new JF_Principal();
                    f_Abrir.m_AsignarProyecto(str_Archivo);
                    f_Abrir.getContentPane().setBackground(Color.white);
//                    JOptionPane.showMessageDialog(null,"Proyecto "+fd_Abrir.getFile().replace(".txt", "") +" abierto ");
                }
                break;
            case 2: //guardar
                principal.getP_Nuevo().m_Guardar();
                break;
            case 3:
                System.exit(0);
                break;
            case 4:
                break;
            case 5:
                break;


            case 10: //nueva tabla de BD
                principal.m_EliminarPanles();
                principal.m_PanelBaseDatos();
                break;
            case 11: // nueva pagina web
                principal.m_EliminarPanles();
                principal.setInt_Documento(principal.getInt_Web());
                principal.m_InicializarDatos();
                principal.m_PanelWeb();
                break;
            case 12:// nuevo control
                principal.m_EliminarPanles();
                principal.setInt_Documento(principal.getInt_Componente());
                principal.m_PanelComponente();
                break;
            case 13:// nuevo paquete
                principal.m_EliminarPanles();
                principal.m_PanelPaquete();
                break;
            case 14:// nuevo procedimiento
                principal.m_EliminarPanles();
                principal.m_PanelPaquete();
                break;


            case 20://generales
                principal.m_EliminarPanles();
                break;
            case 21:// masterPage
                principal.m_EliminarPanles();
                principal.m_PanelMaster();
                break;
            case 22://Cascaron ASP
                principal.m_EliminarPanles();
                principal.m_PanelCascaron();
                break;
            case 23://Componentes
                principal.m_EliminarPanles();
                break;
            case 24://CSS
                principal.m_EliminarPanles();
                principal.m_PanelCSS();
                break;
            case 25://Capas de Datos, Entidad, Negocios
                principal.m_EliminarPanles();
                principal.m_PanelCapas();
                break;
            case 26:
                principal.m_EliminarPanles();
                break;
            case 27:
                principal.m_EliminarPanles();
                break;


            case 30://acerca de ...
                ImageIcon icono = new ImageIcon(getClass().getResource("/imagenes/acerca de.png"));
                archi = new Archivo();
                archi.m_LeerArchivo("Archivos/acerca de.txt");
                String mensaje = archi.dameContenido();
                JOptionPane.showMessageDialog(null, mensaje, "Acerca de RapiWeb", JOptionPane.INFORMATION_MESSAGE, icono);
                break;

            case 31:// ayuda
                JOptionPane.showMessageDialog(null, "En construcción ...");
                break;

        }
    }
}
